package com.company.cloud.user.modules.api.request;

import java.util.Set;

import javax.validation.constraints.NotEmpty;

import com.company.cloud.common.bean.BaseParam;
import com.company.cloud.common.constant.BaseConstant;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class RegisterEmployeeRequest extends BaseParam {

    @ApiModelProperty(value = "公司编号", required = true)
    @NotEmpty(message = "公司编号不能为空")
    private String companyNo;

    @ApiModelProperty(value = "用户一级分类[UserOneTypeEnum]", required = true)
    @NotEmpty(message = "用户分类不能为空")
    private String userTypeOne;

    @ApiModelProperty(value = "用户二级分类")
    private String userTypeTwo;

    @ApiModelProperty(value = "用户一级来源[UserOneSourceEnum]",required = true)
    @NotEmpty(message = "用户一级来源不能为空")
    private String sourceOne;

    @ApiModelProperty(value = "用户二级来源")
    private String sourceTwo;

    @ApiModelProperty(value = "用户名")
    private String userName;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "国家编码")
    private String nationCode = "86";

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "推荐码")
    private String referralCode;

    @ApiModelProperty(value = "经纬度分类")
    private String llType;

    @ApiModelProperty(value = "经度")
    private Double longitude;

    @ApiModelProperty(value = "纬度")
    private Double latitude;

    @ApiModelProperty(value = "客户端分类")
    private String clientType;

    @ApiModelProperty(value = "客户端编号")
    private String clientDeviceNo;

    @ApiModelProperty(value = "注册IP地址")
    private String regIp;

    @ApiModelProperty(value = "用户标签")
    private Set<String> userTags;

    @ApiModelProperty(value = "头像")
    private String headImg;

    @ApiModelProperty(value = "电话")
    private String tel;

    @ApiModelProperty(value = "QQ")
    private String qq;

    @ApiModelProperty(value = "岗位编号")
    private Set<String> jobCode;

    @ApiModelProperty(value = "部门ID")
    private Integer deptId;

    @ApiModelProperty(value = "是否部门负责人(YN)")
    private String isDeptManager = BaseConstant.YNEnum.NO.getCode();

    @ApiModelProperty(value = "是否管理员(YN)")
    private String isManager = BaseConstant.YNEnum.NO.getCode();

    @ApiModelProperty(value = "数据权限分类(1全部部门 2自己 3指定部门)")
    private String dataAuthorityType;

    @ApiModelProperty(value = "数据权限范围")
    private Set<String> dataAuthorityScope;

    @ApiModelProperty(value = "用户角色")
    private Set<String> roles;

    @ApiModelProperty(value = "注册方式[UserRegisterWayEnum]")
    private String regWay;
    @ApiModelProperty(value = "三方用户ID")
    private Integer thirdId;

    @ApiModelProperty(value = "分销商标识")
    private String disFlg;

}
